﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace QuizServicesAzure.BL
{
    public static class Filtro<T> where T : new()
    {
        public static ICollection<T> FiltraDifficolta(List<T> lista, int numMaxDomande)
        {
            Random rnd = new Random();
            List<T> listafinale = new List<T>();
            for (int i = 0; i < numMaxDomande; i++)
            {
                var percentuale = rnd.NextDouble();
                T retval = lista.Skip(Convert.ToInt32(percentuale * (lista.Count - 1))).Take(1).FirstOrDefault();
                if (!listafinale.Contains(retval))
                    listafinale.Add(retval);
                else
                    i--;
            }
            return listafinale;
        }


        public static ICollection<T> FiltraAndMescolaRisposte(List<T> lista, int numMaxRisposte)
        {
            Random rnd = new Random();
            List<T> listafinale = new List<T>();
            for (int i = 0; i < numMaxRisposte; i++)
            {
                var percentuale = rnd.NextDouble();
                T retval = lista.Skip(Convert.ToInt32(percentuale * (lista.Count - 1))).Take(1).FirstOrDefault();
                if (!listafinale.Contains(retval))
                    listafinale.Add(retval);
                else
                    i--;
            }
            return listafinale;
        }
    }
}